package com.shujia.scala

import scala.io.{BufferedSource, Codec, Source}

object Demo30Implicit {
  def main(args: Array[String]): Unit = {

    /**
     * 隐式转换变量
     *
     */

    //隐式转换参数
    def add(x: Int)(implicit y: Int): Int = {
      x + y
    }

    val i: Int = add(100)(200)
    println(i)

    //定义一个隐式转换变量
    implicit val a: Int = 1000

    //调用方法时，会自动使用当前作用域同类型的隐式转换变量填补上发方法的隐式转换参数
    val j: Int = add(200)
    println(j)


    //隐式转换变量的应用
    val source: BufferedSource = Source.fromFile("data/students.txt")(Codec("Utf-8"))

  }

}
